package com.yidu.t299.service.xp;
import com.yidu.t299.domain.xp.Class;
import com.yidu.t299.domain.xp.Record;
import com.yidu.t299.domain.xp.School;
import com.yidu.t299.domain.xp.StudentChange;
import org.apache.ibatis.annotations.*;
import java.util.List;

/**
 * @descripion:
 * @auth: XuPan
 * @date: 2023/3/10 10:17
 * @version: 1.0
 */
public interface StudentChangeBiz {
    /**
     * 根据转班编号删除
     * @param studentchangeId 转班编号
     * @return
     */
    int deleteByPrimaryKey(Integer studentchangeId);

    /**
     * 增加转班信息
     * @param record 转班对象
     * @return 影响的行数(返回1则成功)
     */
    int insert(StudentChange record);

    /**
     * 根据转班编号查询指定信息
     * @param studentchangeId 转班编号
     * @return
     */
    StudentChange selectByPrimaryKey(Integer studentchangeId);


    /**
     * 按条件分页查询日志数据集合
     * @param rows 每页的行数
     * @param page 页码
     * @param condition 条件参数
     * @return 日志对象集合
     */
    List<StudentChange> selectByPage(int rows,int page,String condition);

    /**
     * 按条件查询studentchange表中数据行数
     * @param condition 条件参数
     * @return 数据行数
     */
    int selectCount(@Param("condition") String condition);

    /**
     * 根据转班编号修改其数据
     * @param record
     * @return
     */
    int updateByPrimaryKey(StudentChange record);

    /**
     *根据实体类各属性生成条件字符串
     * @param studentChange 转班对象
     * @return 条件字符串
     */
    String getCondition(StudentChange studentChange);

    //以下是获取下拉框数据的方法

    /**
     * 得到所有校区名称信息
     * @return 校区名称集合
     */
    List<School> selectAllGetSchoolName();

    /**
     * 得到所有教师名称信息
     * @return 教师名称集合
     */
    List<Record> selectAllGetRecordName();

    /**
     * 得到所有班级名称信息
     * @return 校区名称集合
     */
    List<Class> selectAllGetClassName();

    /**
     *针对学员表(student_manage)进行操作
     * 根据学员名称查找其编号
     * @param studentName 学员名称
     * @return 影响的行数(>1:成功)
     */
    int selectByStudentName(String studentName);

    /**
     *针对校区表(school)进行操作
     * 根据校区名称查找其编号
     * @param schoolName 校区名称
     * @return 影响的行数(>1:成功)
     */
    int selectBySchoolName(String schoolName);

    /**
     *针对班级表(class)进行操作
     * 根据班级名称查找其编号
     * @param className 班级名称
     * @return 影响的行数(>1:成功)
     */
    int selectByClassName(String className);

    /**
     *针对教师表(record)进行操作
     * 根据教师名称查找其编号
     * @param recordName 教师名称
     * @return 影响的行数(>1:成功)
     */
    int selectByRecordName(String recordName);

}
